In many testing scenarios, it is difficult to determine how each of several different components of a software system is affecting performance. For example, a software developer may be unable to determine whether a new application is responding too slowly due to performance problems within the application itself, network congestion affecting the application's interactions with a web server from which the application obtains necessary data, or a sluggish database that the web server interacts with. Since each of these components may be implemented independently, it is difficult to be able to test all of the components in a manner that captures the interactions between the components.
While the invention is susceptible to various modifications and alternative forms, specific embodiments of the invention are provided as examples in the drawings and detailed description. It should be understood that the drawings and detailed description are not intended to limit the invention to the particular form disclosed. Instead, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the invention as defined by the appended claims.